/**
 * 研发状态机模块加载测试脚本
 * 用于验证各种加载路径是否正常工作
 */

// 清空控制台
console.clear();
console.log('=== 开始模块加载测试 ===');

// 测试路径
const paths = [
  // 配置入口
  './config/module_config.js',
  '../config/module_config.js',
  '../../config/module_config.js',
  '../../../config/module_config.js',
  
  // 桥接文件
  './biz/research_state_biz.js',
  '../biz/research_state_biz.js',
  
  // 直接实现
  './comm/biz/research_state_biz_direct.js',
  '../comm/biz/research_state_biz_direct.js'
];

// 测试每个路径
paths.forEach((path, index) => {
  console.log(`\n[${index + 1}/${paths.length}] 测试路径: ${path}`);
  
  try {
    const module = require(path);
    console.log('  ✓ 加载成功');
    
    // 检查是否包含关键方法和属性
    if (module.PROJECT_STATUS) {
      console.log('  ✓ 包含PROJECT_STATUS');
    } else {
      console.log('  ✗ 缺少PROJECT_STATUS');
    }
    
    if (typeof module.getStatusName === 'function') {
      console.log('  ✓ 包含getStatusName方法');
      console.log(`    示例输出: ${module.getStatusName(0)}`);
    } else {
      console.log('  ✗ 缺少getStatusName方法');
    }
    
    if (typeof module.enableStateDebugMode === 'function') {
      console.log('  ✓ 包含enableStateDebugMode方法');
    } else {
      console.log('  ✗ 缺少enableStateDebugMode方法');
    }
  } catch (e) {
    console.log(`  ✗ 加载失败: ${e.message}`);
  }
});

console.log('\n=== 测试完成 ==='); 